import Vue from 'vue';
import Utils from '@/assets/js/utils';
import Options from '@/assets/js/options';
import '@/assets/js/permission';
import './icons';

import {
  Notification, Modal, Button, Affix, Tooltip, Dropdown, TimePicker, Empty, Collapse, DatePicker, message, ConfigProvider, Popconfirm, Row, Col, Icon, Menu, Input, InputNumber, Form, FormModel, Alert, Select, Table, Tree, Tabs, Radio, Switch, Divider, Checkbox, Upload, TreeSelect, Cascader, Badge, Popover, Drawer, Spin, Timeline, Steps, Tag, Pagination, Transfer, Breadcrumb,
} from 'ant-design-vue';

import Excel from '@/assets/js/excel';
import App from './App.vue';
import router from './router';
import store from './store';
import './config';
import '@/assets/js/axios';
import '@/assets/js/waves';
import '@/assets/css/common.css';
import '@/assets/css/normalize_8.0.1.min.css';

Vue.use(Modal);
Vue.use(Button);
Vue.use(Affix);
Vue.use(DatePicker);
Vue.use(TimePicker);
Vue.use(ConfigProvider);
Vue.use(Popconfirm);
Vue.use(Row);
Vue.use(Col);
Vue.use(Icon);
Vue.use(Menu);
Vue.use(Input);
Vue.use(Form);
Vue.use(FormModel);
Vue.use(Alert);
Vue.use(Select);
Vue.use(Table);
Vue.use(Tree);
Vue.use(Tabs);
Vue.use(Tooltip);
Vue.use(Radio);
Vue.use(Switch);
Vue.use(Divider);
Vue.use(InputNumber);
Vue.use(Checkbox);
Vue.use(Upload);
Vue.use(TreeSelect);
Vue.use(Cascader);
Vue.use(Badge);
Vue.use(Dropdown);
Vue.use(Collapse);
Vue.use(Popover);
Vue.use(Drawer);
Vue.use(Spin);
Vue.use(Steps);
Vue.use(Tag);
Vue.use(Tooltip);
Vue.use(Empty);
Vue.use(Timeline);
Vue.use(Pagination);
Vue.use(Transfer);
Vue.use(Breadcrumb);
Vue.use(Notification);
Vue.prototype.$message = message;
Vue.prototype.$confirm = Modal.confirm;
Vue.prototype.$warning = Modal.warning;
Vue.prototype.$success = Modal.success;
Vue.prototype.$error = Modal.error;
Vue.prototype.$excel = Excel;
Vue.prototype.$utils = Utils;
Vue.prototype.$selectOptions = Options;

Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: (h) => h(App),
}).$mount('#app');
